home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / CIncludes / QD3DAcceleration.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-08-12  |  3.2 KB  |  109 lines  |  [TEXT/MPS ]

  1. /******************************************************************************
  2.  **                                                                             **
  3.  **     Module:        QD3DAcceleration.h                                         **
  4.  **                                                                          **
  5.  **                                                                          **
  6.  **     Purpose:     Header file for low-level 3D driver API                     **
  7.  **                 Vendor IDs, and Apple's engine IDs                         **
  8.  **                                                                          **
  9.  **                                                                          **
  10.  **                                                                          **
  11.  **     Copyright (C) 1994-97 Apple Computer, Inc.  All rights reserved.     **
  12.  **                                                                          **
  13.  **                                                                          **
  14.  *****************************************************************************/
  15. #ifndef QD3DAcceleration_h
  16. #define QD3DAcceleration_h
  17.  
  18. #include "QD3D.h"
  19.  
  20. #if defined(PRAGMA_ONCE) && PRAGMA_ONCE
  21.     #pragma once
  22. #endif  /*  PRAGMA_ONCE  */
  23.  
  24. #if defined(OS_MACINTOSH) && OS_MACINTOSH
  25.  
  26. #if defined(__xlc__) || defined(__XLC121__)
  27.     #pragma options enum=int
  28.     #pragma options align=power
  29. #elif defined(__MWERKS__)
  30.     #pragma enumsalwaysint on
  31.     #pragma options align=native
  32. #elif defined(__MRC__) || defined(__SC__)
  33.     #if __option(pack_enums)
  34.         #define PRAGMA_ENUM_RESET_QD3DACCEL 1
  35.     #endif
  36.     #pragma options(!pack_enums)
  37.     #pragma options align=power
  38. #endif
  39.  
  40. #endif  /* OS_MACINTOSH */
  41.  
  42. #ifdef __cplusplus
  43. extern "C" {
  44. #endif
  45.  
  46. /******************************************************************************
  47.  **                                                                             **
  48.  **                         Vendor ID definitions                             **
  49.  **                                                                             **
  50.  *****************************************************************************/
  51.  
  52. /*
  53.  *  If kQAVendor_BestChoice is used, the system chooses the "best" drawing 
  54.  *  engine available for the target device. This should be used for the 
  55.  *  default.
  56.  */
  57. #define kQAVendor_BestChoice        (-1)
  58.  
  59. /*
  60.  *  The other definitions (kQAVendor_Apple, etc.) identify specific vendors
  61.  *  of drawing engines. When a vendor ID is used in conjunction with a
  62.  *  vendor-defined engine ID, a specific drawing engine can be selected.
  63.  */
  64. #define kQAVendor_Apple            0
  65. #define kQAVendor_ATI            1
  66. #define kQAVendor_Radius        2
  67. #define kQAVendor_Mentor        3
  68. #define kQAVendor_Matrox        4
  69. #define kQAVendor_Yarc            5
  70. #define kQAVendor_DiamondMM        6
  71. #define kQAVendor_3DLabs        7
  72. #define kQAVendor_D3DAdaptor    8
  73. #define kQAVendor_IXMicro        9
  74.  
  75. /******************************************************************************
  76.  **                                                                             **
  77.  **                         Apple's engine ID definitions                         **
  78.  **                                                                             **
  79.  *****************************************************************************/
  80.  
  81. #define kQAEngine_AppleSW        0        /*  Default software rasterizer         */
  82. #define kQAEngine_AppleHW        (-1)    /*  QuickDraw 3D Accelerator Card     */
  83. #define kQAEngine_AppleHW2        1        /*  Another Apple accelerator         */
  84. #define kQAEngine_AppleHW3        2        /*  Another Apple accelerator         */
  85.  
  86. #ifdef __cplusplus
  87. }
  88. #endif
  89.  
  90. #if defined(OS_MACINTOSH) && OS_MACINTOSH
  91.  
  92. #if defined(__xlc__) || defined(__XLC121__)
  93.     #pragma options enum=reset
  94.     #pragma options align=reset
  95. #elif defined(__MWERKS__)
  96.     #pragma enumsalwaysint reset
  97.     #pragma options align=reset
  98. #elif defined(__MRC__) || defined(__SC__)
  99.     #if PRAGMA_ENUM_RESET_QD3DACCEL
  100.         #pragma options(pack_enums)
  101.         #undef PRAGMA_ENUM_RESET_QD3DACCEL
  102.     #endif
  103.     #pragma options align=reset
  104. #endif
  105.  
  106. #endif  /* OS_MACINTOSH */
  107.  
  108. #endif /* QD3DAcceleration_h */
  109.